// 统一的配置管理
export const config = {
  // API 配置
  api: {
    // 开发环境端口
    dev: {
      port: 3001,
      host: 'localhost'
    },
    // 生产环境端口  
    prod: {
      port: 8081,
      host: 'localhost'
    }
  },
  
  // WebSocket 配置
  websocket: {
    dev: 'ws://localhost:3001',
    prod: 'ws://localhost:8081'
  }
}

// 获取当前环境的 API 基础URL
export const getApiBaseUrl = (): string => {
  if (import.meta.env.DEV) {
    return `http://${config.api.dev.host}:${config.api.dev.port}/api`
  }
  
  // 生产环境优先使用环境变量配置
  const envApiUrl = import.meta.env.VITE_API_URL
  if (envApiUrl) {
    // 如果是相对路径，拼接当前域名
    if (envApiUrl.startsWith('/')) {
      return window.location.origin + envApiUrl
    }
    // 如果是完整URL，直接使用
    if (envApiUrl.startsWith('http')) {
      return envApiUrl
    }
  }
  
  // 默认使用生产配置
  return `http://${config.api.prod.host}:${config.api.prod.port}/api`
}

// 获取 WebSocket URL
export const getWebSocketUrl = (): string => {
  if (import.meta.env.DEV) {
    return config.websocket.dev
  }
  
  // 生产环境，根据当前页面地址推断
  const currentHost = window.location.hostname
  const currentProtocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:'
  
  // 如果是本地访问，使用配置的端口
  if (currentHost === 'localhost' || currentHost === '127.0.0.1') {
    return config.websocket.prod
  }
  
  // 否则使用当前域名的WebSocket
  return `${currentProtocol}//${currentHost}:${config.api.prod.port}`
}